from 翻译包 import *
from 数据结构.队列 import 队列
from simulators.MinBound import MinBound

class 出口概览表:
	def __init__(self, 深度, 宽度):
		self.深度 = 深度
		self.宽度 = 宽度
		self.哈希表 = []
		for 计数 in 范围(深度*宽度):
			self.哈希表.append([0, 0, 0, 0]) # F, (S, C), T

	def 更新(self, 标识符, 数据包总数, 数据流长度, 入队时间, 出队时间):
		pass
		# 实现过程一切顺利, 但是我还是想用C语言来做, 这样后期在处理数据的时候
		# 效率会更高


class PeRep:
	def __init__(self, 队列长度, 输出输入速率比):
		self.输出输入速率比 = 输出输入速率比 #输出速率/输入速率
		self.队列 = 队列(队列长度)
		self.入口概览表 = MinBound(4, 1024)
		self.出口概览表 = 出口概览表()

	def 入口流水线(self, 数据包):
		pass

	def 出口流水线(self, 数据包):
		pass

		
	def 处理数据包序列(self, 数据包序列):
		出队数据包数 = 0
		for 索引 in 范围(长度(数据包序列)):
			数据包 = 数据包序列[索引]
			self.入口流水线(数据包)
			self.队列.进队(数据包)
			出队数据包数 += self.输出输入速率比
			临时变量 = 整数(出队数据包数)
			出队数据包数 -= 临时变量
			for 技术 in 范围(临时变量):
				数据包 = self.队列.出队()
				if 空 != 数据包:
					self.出口流水线(数据包)


		
